home *** CD-ROM | disk | FTP | other *** search
/ C/C++ Users Group Library 1996 July / C-C++ Users Group Library July 1996.iso / vol_400 / 422_01 / libcf / sqrt.asm < prev    next >
Encoding:
Assembly Source File  |  1994-03-27  |  420 b   |  21 lines

  1. *
  2. * Return SQUARE ROOT of argument: int sqrt(int arg)
  3. *
  4. sqrt    LD    2,S        Get argument
  5.     CMP    #255*255    Test for MAX
  6.     ULT            Is it less?
  7.     SJNZ    ?1        Yes, its OK
  8.     LD    #256        Assume 256*256
  9.     RET
  10. ?1    LDB    #1        Start with 1
  11. ?2    PUSHA            Save value
  12.     MUL    ,S        Multiply
  13.     CMP    4,S        Compare with arg
  14.     UGE            Is it over?
  15.     SJNZ    ?3        Yes, exit
  16.     LD    S+        Get value back
  17.     INC            Advance
  18.     SJMP    ?2        And proceed
  19. ?3    LD    S+        Get value back
  20.     RET
  21.